package hcom.model.board.dao;

import hcom.model.board.bean.BoardBean;

import java.util.List;

public interface IBoard {
	/**
	 * 게시판 목록 조회
	 * @param boardBean
	 * @return
	 */
	public List<BoardBean> getBoardList(BoardBean boardBean);
	
	public List<BoardBean> getnewBoardList(BoardBean boardBean);
	
	public List<BoardBean> getlibBoardList(BoardBean boardBean);
	
	/**
	 * 소송게시판 목록 조회
	 * @param boardBean
	 * @return
	 */
	public List<BoardBean> getCaseList(BoardBean boardBean);
	
	public List<BoardBean> getCasepotalList(BoardBean boardBean);
	
	/**
	 * 게시판 갯수 조회
	 * @param boardBean
	 * @return
	 */
	public int getBoardCount(BoardBean boardBean);
	
	/**
	 * 소송게시판 갯수 조회
	 * @param boardBean
	 * @return
	 */
	public int getCaseCount(BoardBean boardBean);
	
	/**
	 * 게시판 상세보기
	 * @param boardBean
	 * @return
	 */
	public BoardBean getBoardView(BoardBean boardBean);
	
	/**
	 * 소송 상세보기
	 * @param boardBean
	 * @return
	 */
	public BoardBean getcaseView(BoardBean boardBean);
	public BoardBean getcaseDetail(BoardBean boardBean);
	
	public BoardBean casegetseq(BoardBean boardBean);
	
	public BoardBean getContentDetail(BoardBean boardBean);
	
	public void insertlogseq(BoardBean boardBean);
	public List<BoardBean> getCase(BoardBean boardBean);
	/**
	 * 주요내용 보기
	 * @param boardBean
	 * @return
	 */
	public BoardBean getContent(BoardBean boardBean);
	
	/**
	 * 조회수 증가
	 * @param boardBean
	 */
	public void increaseCount(BoardBean boardBean);
	
	/**
	 * 글 등록
	 * @param boardBean
	 */
	public void insertBoard(BoardBean boardBean);
	
	/**
	 * 글 등록
	 * @param boardBean
	 */
	public void insertCase(BoardBean boardBean);
	
	public void casecourt(BoardBean boardBean);
	public void casecourt2(BoardBean boardBean);
	public void casecourt3(BoardBean boardBean);
	
	/**
	 * 심급별 등록
	 * @param boardBean
	 */
	public void updateCasecourt(BoardBean boardBean);
	
	
	public void insertContent(BoardBean boardBean);
	
	public void caseDeletego(BoardBean boardBean);
	
	public void caseDelete2(BoardBean boardBean);

	public void casecourtDelete(BoardBean boardBean);
	
	public void caselogDelete(BoardBean boardBean);
	
	public void casedeletepop(BoardBean boardBean);
	
	/**
	 * 주요내용 등록
	 * @param boardBean
	 */
	public void updateContent(BoardBean boardBean);
	
	/**
	 * 글 수정
	 * @param boardBean
	 */
	public void updateBoard(BoardBean boardBean);
	
	public void caseupdate(BoardBean boardBean);
	
	public void caseupdate1(BoardBean boardBean);
	
	/**
	 * 글 삭제
	 * 	 * @param boardBean
	 */
	public void deleteBoard(BoardBean boardBean);
	/**
	 * 파일 보기
	 * @param boardBean
	 * @return
	 */
	public BoardBean getFile(BoardBean boardBean);
	
	public BoardBean getcaseFile(BoardBean boardBean);
	
	/**
	 * 파일 등록
	 * @param boardBean
	 */
	public void insertFile(BoardBean boardBean);
	
	public void insertcaseFile(BoardBean boardBean);
	
	/**
	 * 파일 수정
	 * @param boardBean
	 */
	public void updateFile(BoardBean boardBean);
	
	/**
	 * 파일 삭제
	 * @param boardBean
	 */
	public void deleteFile(BoardBean boardBean);
	
	
	public void casedeleteFile(BoardBean boardBean);
	
	/**
	 * 답변 등록
	 * @param boardBean
	 */
	public void insertAnswer(BoardBean boardBean);
	
	/**
	 * 답변 수정
	 * @param boardBean
	 */
	public void updateAnswer(BoardBean boardBean);
	
	/**
	 * 답변 삭제
	 * @param boardBean
	 */
	public void deleteAnswer(BoardBean boardBean);
	
	/**
	 * 최근에 저장한 글 번호
	 * @return
	 */
	public BoardBean getTopBoardSeq();

	/**
	 * 최근에 저장한 글 번호
	 * @return
	 */
	public BoardBean getTopCaseSeq();
	
	public BoardBean getToplogSeq();
	
	
	/**
	 * 파일다운로드 : 파일명
	 * @return
	 */
	public BoardBean getFileDown(BoardBean boardBean);
	
	public List<BoardBean> getAttachNumList(BoardBean boardBean);
	
	public List<BoardBean> AttachNumList(BoardBean boardBean);
	
	public BoardBean getFilecaseDown(BoardBean boardBean);
	

	public abstract BoardBean getoneFile(BoardBean paramBoardBean);
}
